package ca.etsmtl.log660.entity;

import java.util.Calendar;
import java.util.Date;
import java.util.Set;

public class Film {
	
	private long idFilm;
	private String titre;
	private Date anneeDeSortie;
	private String langue;
	private int duree; // en minutes
	private String synopsis;
	private int nbCopies;
	private Set<Genre> genre;
	private Set<Pays> paysDeProduction;
	private Set<Scenariste> scenaristes;
	private Artiste realisateur;
	private Set<Role> roles;
	private Set<Copie> copies;

	public Film() {

	}

	public long getIdFilm() {
		return idFilm;
	}

	public void setIdFilm(long idFilm) {
		this.idFilm = idFilm;
	}

	public String getTitre() {
		return titre;
	}

	public void setTitre(String titre) {
		this.titre = titre;
	}

	public Date getAnneeDeSortie() {
		return anneeDeSortie;
	}

	public void setAnneeDeSortie(Date anneeDeSortie) {
		this.anneeDeSortie = anneeDeSortie;
	}

	public String getLangue() {
		return langue;
	}

	public void setLangue(String langue) {
		this.langue = langue;
	}

	public int getDuree() {
		return duree;
	}

	public void setDuree(int duree) {
		this.duree = duree;
	}

	public String getSynopsis() {
		return synopsis;
	}

	public void setSynopsis(String synopsis) {
		this.synopsis = synopsis;
	}

	public int getNbCopies() {
		return nbCopies;
	}

	public void setNbCopies(int nbCopies) {
		this.nbCopies = nbCopies;
	}

	public Set<Genre> getGenre() {
		return genre;
	}

	public void setGenre(Set<Genre> genre) {
		this.genre = genre;
	}

	public Set<Pays> getPaysDeProduction() {
		return paysDeProduction;
	}

	public void setPaysDeProduction(Set<Pays> paysDeProduction) {
		this.paysDeProduction = paysDeProduction;
	}

	public Set<Scenariste> getScenaristes() {
		return scenaristes;
	}

	public void setScenaristes(Set<Scenariste> scenaristes) {
		this.scenaristes = scenaristes;
	}

	public Artiste getRealisateur() {
		return realisateur;
	}

	public void setRealisateur(Artiste realisateur) {
		this.realisateur = realisateur;
	}

	public Set<Role> getRoles() {
		return roles;
	}

	public void setRoles(Set<Role> roles) {
		this.roles = roles;
	}
	
	public Set<Copie> getCopies() {
		return copies;
	}

	public void setCopies(Set<Copie> copies) {
		this.copies = copies;
	}
	
	public String toString() {
		Calendar c = Calendar.getInstance();
		c.setTime(this.anneeDeSortie);
		return this.titre + " (" + c.get(Calendar.YEAR) + ")";
	}
}
